const express = require('express');
//引入第三方svg-captcha包用来创建图片验证码：
var svgCaptcha = require('svg-captcha');
const path = require('path');
const app = express();
app.listen(4000,()=>{
    console.log('web服务器工作在4000端口');
});

//file:///D:/%E9%83%91%E5%B7%9E/three/day08/%E4%BB%A3%E7%A0%81/login.html
//file:///D:/%E9%83%91%E5%B7%9E/three/day08/%E4%BB%A3%E7%A0%81/js/common.js

//使用express内置中间件express.static()来开放静态资源：
//注意：将某个目录设置为开放静态资源之后在访问时则不需要带该目录
// app.use(express.static(path.join(__dirname,'img')));
// app.use('/img',express.static(path.join(__dirname,'img')));
// app.use('/js',express.static(path.join(__dirname,'js')));
// app.use('/css',express.static(path.join(__dirname,'css')));
app.use(express.static(path.join(__dirname,'public')));

//使用express内置中间件express.urlencoded()接收post方式键值对格式发送的参数：
app.use(express.urlencoded({extended:false}));
//使用express内置中间件express.json()接收post方式的json格式发送的参数：
app.use(express.json());

//生成图片验证码：
app.get('/syscode',(req,res)=>{
    let svgObj = svgCaptcha.create({size:4,noise:3,ignoreChars: '0o1i',color:true,background: '#cc9966' });
    
        res.type('svg');  
        res.send(svgObj.data);

});


//什么是express的开放静态资源？
//就是让用户通过web服务器来访问我们的静态资源文件(比如:图片、.js文件、.css文件、.html文件)


//显示用户登录界面：
app.get('/login',(req,res)=>{


    res.sendFile(path.join(__dirname,'login.html'));
});


//处理用户登录：
app.post('/loginaction',(req,res)=>{

    //接收post参数(用户输入的帐号、密码):
    // console.log(req.body,'post');
    let {usr='',pwd=''} = req.body;

    res.send(`处理登录: ${usr} ${pwd}`);
});

//接收post方式的json格式发送的参数
app.post('/myapi',(req,res)=>{  

    res.send(JSON.stringify(req.body));
});

app.get('/mydemo',(req,res)=>{

    res.send(JSON.stringify(req.query));
});

app.get('/mytest/:x/:y',(req,res)=>{

    res.send(JSON.stringify(req.params));
});




//显示图片：
// app.get('/img/tbanner1.png',(req,res)=>{

//   res.sendFile(path.join(__dirname,'img/tbanner1.png'));
// });